package com.wz.project.cxtj.viewOutHistory.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.wz.framework.aspectj.lang.annotation.Excel;
import com.wz.framework.web.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;

/**
 * 出库单据历史对象 View_out_history
 * 
 * @author wz
 * @date 2022-05-18
 */
public class ViewOutHistory extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 明细编号 */
    @Excel(name = "明细编号")
    private String stockoutDetailId;

    /** 单据编号 */
    @Excel(name = "单据编号")
    private String stockoutId;

    /** 出库类型 */
    @Excel(name = "出库类型")
    private String outType;

    /** 创建人 */
    @Excel(name = "创建人")
    private String createManId;

    /** 单据状态 */
    @Excel(name = "单据状态")
    private String status;

    /** 批号 */
    @Excel(name = "批号")
    private String lotNo;

    /** 物资编号 */
    @Excel(name = "物资编号")
    private String productId;

    /** 计划数量 */
    @Excel(name = "计划数量")
    private Integer quantity;

    /** 分配数量 */
    @Excel(name = "分配数量")
    private Integer allotQuantity;

    /** 实际数量 */
    @Excel(name = "实际数量")
    private Integer assignNum;

    /** 库存来源 */
    @Excel(name = "库存来源")
    private String stockoutSource;

    /** 仓库 */
    @Excel(name = "仓库")
    private String warehouseId;

    /** 创建时间 */
    @Excel(name = "创建时间")
    private String createDate;

    /** 完成时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "完成时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date finishDate;

    /** 物料名称 */
    @Excel(name = "物料名称")
    private String productName;

    public void setStockoutDetailId(String stockoutDetailId)
    {
        this.stockoutDetailId = stockoutDetailId;
    }

    public String getStockoutDetailId()
    {
        return stockoutDetailId;
    }
    public void setStockoutId(String stockoutId)
    {
        this.stockoutId = stockoutId;
    }

    public String getStockoutId()
    {
        return stockoutId;
    }
    public void setOutType(String outType)
    {
        this.outType = outType;
    }

    public String getOutType()
    {
        return outType;
    }
    public void setCreateManId(String createManId)
    {
        this.createManId = createManId;
    }

    public String getCreateManId()
    {
        return createManId;
    }
    public void setStatus(String status)
    {
        this.status = status;
    }

    public String getStatus()
    {
        return status;
    }
    public void setLotNo(String lotNo)
    {
        this.lotNo = lotNo;
    }

    public String getLotNo()
    {
        return lotNo;
    }
    public void setProductId(String productId)
    {
        this.productId = productId;
    }

    public String getProductId()
    {
        return productId;
    }
    public void setQuantity(Integer quantity)
    {
        this.quantity = quantity;
    }

    public Integer getQuantity()
    {
        return quantity;
    }
    public void setAllotQuantity(Integer allotQuantity)
    {
        this.allotQuantity = allotQuantity;
    }

    public Integer getAllotQuantity()
    {
        return allotQuantity;
    }
    public void setAssignNum(Integer assignNum)
    {
        this.assignNum = assignNum;
    }

    public Integer getAssignNum()
    {
        return assignNum;
    }
    public void setStockoutSource(String stockoutSource)
    {
        this.stockoutSource = stockoutSource;
    }

    public String getStockoutSource()
    {
        return stockoutSource;
    }
    public void setWarehouseId(String warehouseId)
    {
        this.warehouseId = warehouseId;
    }

    public String getWarehouseId()
    {
        return warehouseId;
    }
    public void setCreateDate(String createDate)
    {
        this.createDate = createDate;
    }

    public String getCreateDate()
    {
        return createDate;
    }
    public void setFinishDate(Date finishDate)
    {
        this.finishDate = finishDate;
    }

    public Date getFinishDate()
    {
        return finishDate;
    }
    public void setProductName(String productName)
    {
        this.productName = productName;
    }

    public String getProductName()
    {
        return productName;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("stockoutDetailId", getStockoutDetailId())
            .append("stockoutId", getStockoutId())
            .append("outType", getOutType())
            .append("createManId", getCreateManId())
            .append("status", getStatus())
            .append("lotNo", getLotNo())
            .append("productId", getProductId())
            .append("quantity", getQuantity())
            .append("allotQuantity", getAllotQuantity())
            .append("assignNum", getAssignNum())
            .append("stockoutSource", getStockoutSource())
            .append("warehouseId", getWarehouseId())
            .append("createDate", getCreateDate())
            .append("finishDate", getFinishDate())
            .append("productName", getProductName())
            .toString();
    }
}
